Repository navigation
Conversation
…le VIII. Every push to main that touched docs/user/** rebuilt and redeployed docs.aethersdr.com. Since 2026-10-17 every one of those deploys has failed: the PDF manual (25.3 MiB) is over Cloudflare Pages' 25 MiB per-file limit. - Drop the push-to-main trigger. Pull requests still run the link check, the generated-reference check and the PDF render check. - Deploy the site when an app release (v*, not a pre-release) is published, from its tag, after release-pdf has attached the signed PDF. - Stop uploading the PDF to Pages. A _redirects entry sends /AetherSDR-Manual.pdf (the URL the app and the site link to) to the signed PDF on the release. - workflow_dispatch deploys the latest app release, or the tag or branch given as `ref`. - release-pdf only runs for v* tags. It had been attaching the manual to flex-tailnet-shim and test pre-releases. Fixes #6556. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…. Principle XII. Addresses the review on #6558, and restores what the rebase onto #6571 dropped from the deploy job. - resolve-target (read-only token, no checkout) accepts only an empty ref, main, or a published non-pre-release v* release tag, and pins it to a commit SHA. Any other branch or tag is refused. - build-site builds that SHA with a read-only token, no secrets and npm ci --ignore-scripts, writes the PDF redirect, checks the 25 MiB limit and uploads the site. - deploy runs in the cloudflare-pages environment with no permissions and no checkout, and passes the token only to the pinned wrangler-action, with wrangler pinned to 4.147.0 again. A missing token or account ID fails the job instead of skipping it. - A release deploys after sign-release-pdf, the job that now attaches the PDF, not after release-pdf. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
|
Reconciliation with #6558 is paused pending the operator decision on publishing cadence: release-only versus continuing main-push deployments. This branch has rebased cleanly onto upstream main in an isolated worktree, and the local signed documentation correction describes site-only deployment. No branch has been pushed and no approval or merge has been posted. Releasing the claim while the decision is pending. |
1b93d51 to
fce8a31
Compare
Avoid SIGPIPE false negatives in the release asset check. Explicit status conditions allow the manual deploy chain to run after release signing is skipped, while rejecting failed dependencies and cancellation. Replace any existing manual redirect instead of appending duplicates, preserving unrelated rules for builds with the Docusaurus redirect plugin.
…Principle VIII. The manual is now 25.5 MiB, over the 25 MiB a Cloudflare Pages file may be, so every main deploy since 2026-10-16 has failed on it and the site has not updated. The Docs build still renders the PDF, as a check, but outside the site's build/, so the deploy no longer carries it. A _redirects file written after the Docusaurus build sends /AetherSDR-Manual.pdf (302) to the copy attached to the release stable-version.json names, so the site's links and the app's Help menu link keep working. That copy is the stable manual; the site used to serve one typeset from main. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_012U8wmr3AQGVrmQLp2zNBwa
fce8a31 to
5a5f45d
Compare
There was a problem hiding this comment.
Landing checkpoint for 5a5f45de8772aad47549c006662d23b41a013498: reconciled and rebased for release-only site publishing, with signed commits pushed. No approval or auto-merge is armed.
Windows, macOS, hosted Docs (site/link checks and PDF render), Static Checks, and sanitizer configuration passed on this head. Linux build remains in progress; it is not reported as passed. No local app/site/PDF rebuild or production deployment was performed.
Manual workflow review and executed validation for the two-PR reconciliation covered 11 live read-only resolver cases, 11 job-condition scenarios (including render/sign/resolve/build failure and missing docs), idempotent redirect replacement, the actual Docusaurus hook on #6582 plus the shared deployment override, and both sides of the Pages size limit. Allowing skipped signing for a release was mutation-checked and correctly failed the render-failure scenario. Upstream PDF render/sign jobs are unchanged. The automated code-review harness was unavailable; review was performed manually.
The previous credential/ref-selection findings are addressed: repository builds have no deployment secrets, the deploy job checks out nothing, and accepted refs are restricted and pinned to a commit SHA. Manual deployments survive skipped release jobs; release deployments require successful signing. The PDF route is normalized to exactly one verified release URL while unrelated redirects are preserved.
External prerequisite still missing: cloudflare-pages allows only the main branch. An administrator must add a deployment tag rule named v* before the release-triggered deploy can run. The authenticated maintain account received HTTP 403, “Must have admin rights to Repository,” when attempting that setting update. I am holding approval and merge rather than landing a known failing release-deployment path.
Releasing the claim while the administrator change is pending. Hosted Linux CI continues independently. Recheck this head, all CI, review state, and the environment policy before resuming; land #6558 before #6582.
Summary
Generate the PDF manual redirect as part of the Docusaurus site build. The plugin writes
/AetherSDR-Manual.pdfas a 302 to the GitHub release asset identified bystable-version.json, keeping the app and site's existing manual links.Publishing follows #6558's release-only workflow: ordinary merges do not deploy the site, pull requests still validate the site and render the PDF, and releases deploy after PDF signing. The deployment workflow verifies its selected release asset and replaces the plugin's default PDF route, preserving unrelated redirects and exactly one manual rule. This also supports deploying older tags that predate the plugin.
Update the documentation to explain the generated default and the verified deployment override. No application code, release signing, or package-build workflow is changed by this PR after #6558.
Validation
postBuildhook exercised with only the unrelated Prism theme import stubbed: stable-version URL, repeat invocation, and verified deployment override all passed; exactly one manual rule remained.git diff --check: passed.cloudflare-pagesenvironment to allowv*tags.Principle VIII: keep the manual URL consistent with the site release and validate deployment inputs.
Original implementation by Jeremy KK7GWY.
Generated with OpenAI Codex (GPT-6 Astra)